perm filename CONTEX[F88,JMC]1 blob
sn#863275 filedate 1988-11-06 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00007 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 %contex[f88,jmc] Reifying context
C00005 00003 \section{Introduction}
C00011 00004 \section{Preliminary Examples of Formulas Involving Contexts}
C00017 00005 \section{Some Axioms}
C00018 00006 \section{What should contexts be?}
C00019 00007 \smallskip\centerline{Copyright \copyright\ \number\year\ by John McCarthy}
C00021 ENDMK
C⊗;
%contex[f88,jmc] Reifying context
\def \d{\hbox{-}}
\def \f{\hbox{--}\! }
\def \e{\hbox{--}}
\input memo.tex[let,jmc]
\centerline{\bf INCOMPLETE DRAFT --- PROVIDED ONLY TO HELP TRANSLATOR}
\title{Reifying Context}
\noindent Abstract: This paper discusses treating contexts as
objects in a first order theory. The goal is a language suitable
for a general database of common sense knowledge. We need to get
around the fact that no expression of the facts can be completely
general; the context involves assumptions that might be
transcended. Our idea is to be explicit about this. The
database will refer to explicit contexts, and there will be
explicit devices for generalizing contexts and explicit
defeasible, inheritance rules that take sentences up and down the
hierarchy of contexts.
To reify contexts is to use constants and variables taking
contexts as values and predicates and functions some of whose
arguments and values are contexts. The truth of any sentence $p$
is context dependent, and there is no most general context.
Therefore, we use $holds(p,c)$ to assert that the sentence (or
maybe proposition) $p$ holds in the context $c$. We study
relations among contexts, especially relations of greater and
lesser specificity, and the relations among the sentences that
hold in related contexts. Defeasible inheritance rules allow
inferring that if a sentence $p$ holds in $c$, then $p$ or a
certain related sentence holds in a context related to $c$ in a
certain way. Recent developments in nonmonotonic logic are used
to express these rules as sentences. We also need a
generalization of natural deduction including the following
feature. If we have $holds(p,c)$, we can ``enter $c$'' and
assert $p$, then do some reasoning that infers $q$, then ``leave
$c$'' asserting $holds(q,c)$. \vfill\eject
\section{Introduction}
AI has been criticized for using ``toy examples'', and this
criticism has been especially aimed at research using
mathematical logic to represent information.
Using toy examples is justified provided it helps discover
general principles, just as the use of {\it Drosophila} in
genetics experiments is justified. However, many people who
think about the logical formulas they have seen develop the
intuition that logic is inadequate to express human knowledge
in all its flexibility. Moreover, they assert, and I agree,
that this flexibility is also required for making computer
programs as intelligent as humans.
The intuition that some notion cannot be
expressed in mathematical logic is often related to implicit
assumptions about what the predicates must be and what kinds of
objects constitute the values of variables. The cure is likely
to be additional reification.
An example of a toy theory is any one of the formalizations
of the effects of moving a blocks on a table and stacking them.
Critics correctly say that the axioms used apply only to
very special situations and don't express general common sense
knowledge. Nevertheless, the blocks world has revealed many
problems of formalization, e.g. the frame and qualification
problems, and has led to tentative solutions for some of them
via formalized nonmonotonic reasoning. AI should not give up
the blocks world {\it Drosophila} until it has exhausted its
fruitfulness.
Nevertheless, it seems worthwhile at this time to try to develop
a formalism capable of expressing general common sense knowledge.
It is especially appropriate now that some techniques of
formalized nonmonotonic reasoning have been developed. These
include circumscription, default logic, autoepistemic logic and
multitudinous variants of all the above.
The present paper discusses an approach via the formalization
of context.
It is a commonplace in linguistics and philosophy that the truth
of an utterance depends on context. However, in these subjects
it is usual to treat contexts informally, i.e. to do without
variables and constants for contexts and predicate symbols taking
contexts as arguments. This isn't good enough for AI, because if
robots and other AI systems are to reason about context using
logic, they need at least constant symbols for contexts, and if
they are to reason generally, then they need variables ranging
over contexts. This suggests reifying contexts, i.e.
introducing them as formal objects over which variables can
range. For the time being at least, we will consider contexts as
objects in a first order multi-sorted theory. We will not commit
ourselves to a definition of context --- even informal --- but
will explore some axioms and rules of inference and see what we
get.
Thus we aren't treating context as a natural kind word,
i.e. we aren't trying to discover what {\it context} ``really
means''. Instead we are trying to get a useful notion of context
to build into our robots. Therefore, criticism should mainly be
directed at the utility of the formalism introduced.
One reaction to the fact that truth values of sentences
and denotations of terms depend on context is to regard this as
due to human laziness and suppose that we could use a completely
explicit language in which the truth of a sentence would no
longer be context dependent. This paper is based on the opinion
that while sentences can be made less context dependent, i.e.
true in wider contexts, there is no ``universal context'', so
that every sentence is context dependent, and every context can
be further widened.
\medskip
\section{Preliminary Examples of Formulas Involving Contexts}
A fundamental formula of our treatment is $holds(p,c)$
asserting that the sentence $p$, or other sentence-like entity,
holds in context $c$. In the following examples, some predicate
symbols are used and explained, but they should be considered in
the context of the specific examples rather than as part of a
single general language.
1. $holds(profession(Watson,Doctor),fictional.context(Sherlock.Holmes))$.
2. $holds(profession(Watson,Psychologist),historical.context(Psychology))$.
3. $holds(profession(Lincoln,Lawyer),historical.context1(USA,1850s))$.
4. $holds(profession(Lincoln,President),historical.context(USA))$.
5. $holds(activity(I,Typing),C1)$, where $C1$ is a
particular context in which I am typing this papers. $C1$ is a
private context of mine, and many sentences that are true in this
context will contain references that are not meaningful in the
general context of this paper.
6. While we're at it, consider the general context of this paper,
let us say, the context that I can assume after the reader has read the
title and introduction. Many sentences of the paper are intended to
have meaning in that context, i.e. once you've read the title and
introduction, you should understand what they are intended to assert.
Other sentences will be meaningful only in the more specialized contexts
of parts of the paper. Some contexts depend on being in a particular
phrase of a particular sentence, e.g. contexts that determine referents
of pronouns.
7. $holds(at(jmc,terminal1),C2)$. Here ``jmc'' refers to the
author of this paper, and ``terminal1'' refers to the terminal at which
I am sitting. In order for the sentence $at(jmc,terminal1)$ to have a
definite truth value, it is necessary that the context $C2$ refer to
some definite time or set of times. We also have
%
$$holds(at1(jmc,terminal1,1988.Oct.28.pdt.1411),C3)),$$
%
where $C3$ is a context like $C2$, except that it need not refer to
a definite time.
8. $holds(big(Dumbo),C1)$ and $holds(little(Dumbo),C2)$.
Here $C1$ may be a context in which Dumbo may be compared to mice
and $C2$ may be a context in which he may be compared to other
elephants. More generally, many contexts have scales in which
give meanings to certain quantitative words. Using contexts for
this purpose is a competitor for some of the uses of fuzzy logic.
I am attracted to using
%
$$holds(Holds(p,C2),C1),$$
%
where $C1$ is an ``outer context'' and $Holds$ is essentially the
same as $holds$ except that in the logic it makes a term rather
than a wff. We can then say that all formulas including those
involving $holds$ itself hold only in
some context. We might then want the axiom
%
$$(∀p c)(holds(p,c) ≡ holds(Holds(p,c),c)).$$
%
It would be used in conjunction with other axioms that relate what
holds in different contexts. An alternative is to suppose that there
is always a context name associated with where we are in a discourse.
We would then have
%
$$(∀p c)(holds(p,c) ≡ holds(holds(p,c),<current>)),$$
%
where $<current>$ stands for the current context. We could use
the simpler formula
%
$$p' ≡ hold(p,<current>))$$
%
if we distinguish between $p$, which is a term in the logic and
(say) $p'$ which is the synonymous wff of the logic.
\medskip
\section{Some Axioms}
\section{What should contexts be?}
This is a variant of the question, ``What are contexts?''.
However, since we are talking about AI, we can take human usage
as merely suggestive and put both more or less into our formalism
than what we think people use.
One use of context, much emphasized in linguistic resarch,
is indexical. The context gives reference to pronouns and
words like {\it now}, {\it here} and {\it there}. Another is
to incorporate assumptions. A third assigns meanings to words ---
in our formal system it will assign meanings to predicate and
function symbols.
\smallskip\centerline{Copyright \copyright\ \number\year\ by John McCarthy}
\smallskip\noindent{This draft of CONTEX[F88,JMC] TEXed on \jmcdate\ at \theTime}
\vfill\eject\end